我正在嘗試取消剖析後加載預測,但出現此錯誤 /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/ensemble/weight_boosting.py:29: DeprecationWarning:numpy.core.umath_tests是一個內部NumPy模塊 並且不應該導入。它將在以後的NumPy中刪除 發布。從numpy.core.umath_tests導入inner1d /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/base.py:311: UserWarning:嘗試釋放估算器DecisionTreeClassifier從 使用0.19.2版時為0.20.2版。這可能會導致破裂 代碼或無效結果。使用風險自負。用戶警告) /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/base.py:311: UserWarning:嘗試釋放估算器RandomForestClassifier從 使用0.19.2版時為0.20.2版。這可能會導致破裂 代碼或無效結果。使用風險自負。用戶警告) 追溯(最近一次通話):文件“ rf_pred_model_tester.py”, 第7行 print('Class:',int(rf.predict(xx)))文件“ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/ensemble/forest.py” , 預測中的第538行 proba = self.predict_proba(X)文件“ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/ensemble/forest.py”, 第581行,位於predict_proba中 n_jobs,_,_ = _partition_estimators(self.n_estimators,self.n_jobs)文件 “ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/ensemble/base.py”, 第153行,在_partition_estimators中 n_jobs = min(_get_n_jobs(n_jobs),n_estimators)文件“ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/utils/init.py”, 第464行,在_get_n_jobs中 如果n_jobs <0:TypeError:“ NoneType”和“ int”的實例之間不支持“ <” 這是我正在嘗試運行的代碼 進口泡菜 將numpy導入為np 將open('rf_model_1','rb')設為f: rf = pickle.load(f) xx = np.array([67,17832,1,1,0,33,1941902452,36,33011.0,19,18,0,2,1])。reshape(1,-1) print('Class:',int(rf.predict(xx))) 我期望這樣的結果: 類別:[0] 如果我在jupyter上運行代碼可以正常工作,但是,當我嘗試在終端上運行時出現錯誤。
2021-01-16 08:12:42
您的錯誤直言不諱: 用戶警告:使用0.19.2版本時,嘗試釋放0.20.2版本的估計器RandomForestClassifier。這可能會導致代碼破裂或無效結果。使用風險自負。 確實就是這樣。醃製時,您的RandomForestClassifier的屬性n_jobs保持為None。這是初始化的默認值,但通常在後台將其設置為1。您可以在此處找到有關n_jobs的更多詳細信息:https://scikit-learn.org/stable/glossary.html#term-n-jobs 對您來說,將rf的n_jobs設置為1可以解決問題: 進口泡菜 將numpy導入為np 將open('rf_model_1','rb')設為f: rf = pickle.load(f) rf.n_jobs = 1 xx = np.array([67,17832,1,1,0,33,1941902452,36,33011.0,19,18,0,2,1])。reshape(1,-1) print('Class:',int(rf.predict(xx))) | 高度活躍的問題。贏得10個聲譽才能回答這個問題。信譽要求有助於保護該問題免受垃圾郵件和非答復活動的侵害。 不是您要找的答案?瀏覽其他標記為python-3.x的問題,或詢問您自己的問題。